package com.warmheart.builder.sys;

import com.warmheart.core.co.base.BaseCoBuilder;
import com.warmheart.core.co.oper.Co;
import com.warmheart.entity.sys.SysAreaBase;

/**
 * 
 * @ClassName: SysAreaBase
 * @Description: 区域实体CoBuilder类，对应表名称为tb_sys_area_base
 *               温馨提示：不要修改该实体CoBuilder类的任何字段
 * @author ZhangJianyang
 * @date 2025-06-16 09:37:02
 *
 */
public class SysAreaBaseCoBuilder extends BaseCoBuilder<SysAreaBase, SysAreaBaseCoBuilder> {

    private final SysAreaBase t;

    @Override
    protected SysAreaBaseCoBuilder self() {
        return this;
    }

    @Override
    public SysAreaBase core() {
        return this.t;
    }

    public SysAreaBaseCoBuilder(SysAreaBase sysAreaBase) {
        t = sysAreaBase;
    }

    /**
     * 地区CODE
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> code;

    /**
     * 父地区CODE
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> parentCode;

    /**
     * 地区名称
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> areaName;

    /**
     * 地区简称
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> shortName;

    /**
     * 经度
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> lng;

    /**
     * 纬度
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> lat;

    /**
     * 行政级别
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> level;

    /**
     * 位置
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> position;

    /**
     * 区域链
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> areaLink;

    /**
     * 排序
     */
    private Co<SysAreaBase, SysAreaBaseCoBuilder> sort;

    public Co<SysAreaBase, SysAreaBaseCoBuilder> code() {
        if (this.code == null) {
            this.code = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "code");
        }
        return this.code;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> parentCode() {
        if (this.parentCode == null) {
            this.parentCode = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "parent_code");
        }
        return this.parentCode;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> areaName() {
        if (this.areaName == null) {
            this.areaName = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "area_name");
        }
        return this.areaName;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> shortName() {
        if (this.shortName == null) {
            this.shortName = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "short_name");
        }
        return this.shortName;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> lng() {
        if (this.lng == null) {
            this.lng = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "lng");
        }
        return this.lng;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> lat() {
        if (this.lat == null) {
            this.lat = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "lat");
        }
        return this.lat;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> level() {
        if (this.level == null) {
            this.level = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "level");
        }
        return this.level;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> position() {
        if (this.position == null) {
            this.position = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "position");
        }
        return this.position;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> areaLink() {
        if (this.areaLink == null) {
            this.areaLink = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "area_link");
        }
        return this.areaLink;
    }

    public Co<SysAreaBase, SysAreaBaseCoBuilder> sort() {
        if (this.sort == null) {
            this.sort = new Co<SysAreaBase, SysAreaBaseCoBuilder>(self(), "sort");
        }
        return this.sort;
    }
}